1. Field of the Invention
The present invention relates to a musical performance control method, a musical performance control apparatus and a musical tone generating apparatus, which are applicable to provide an ensemble performance wherein a musical performance by an electronic tone generator and an automatic performance by a musical instrument are simultaneously provided.
2. Discussion of the Background
When an automatic piano player and an electronic tone generator are utilized to provide an ensemble performance in an automatic system, performance controls are carried out in the respective parts. To the piano performance part, musical performance information, such as key-in (event) information, is forwarded. In the electronic tone generator part, the musical performance information is forwarded as it is, and then the musical performance information is converted into such a state to be able to produce a musical tone based on data in the electronic tone generator (a state of musical tone data explained later) before being outputted.
In the automatic piano player, a musical performance is provided by striking a string with an electric and mechanical unit which moves a key, an action or a hammer in an actual piano by, e.g. a solenoid. As a result, there is a time lag between the timing when a string is struck to actually produce a musical tone since the musical performance information has been forwarded and the timing when the electronic tone generator part produces a musical tone. Even when the musical performance information has been transmitted to both of the automatic piano player and the electronic tone generator at the same timing, there has been created a problem that the production of a musical tone by the automatic piano player delays.
In order to solve the problem of the delay, it has been proposed in JP-A-5-33798 that the electronic tone generator part is provided with a delay buffer to avoid the occurrence of that sort of time lag by delaying the musical performance information to be forwarded to the part as shown in FIG. 19.
However, the inventor of the publication has pointed out the following problems of the proposal by the publication in Japanese Patent No. 2694935, which has been proposed as improvement to the proposal by the publication. He has pointed out the problems as follows: xe2x80x9cBy the way, this arrangement needs to include a storage dedicated to a delay buffer (300), and a control circuit and a processing program for controlling the storage in order to provide a delay of 500 msec. That is to say, the processing program executed by the controller (100) is divided into two systems, creating a problem that the arrangement becomes complicated. When the processor (the controller 100) outputs musical performance information having a high density, it becomes impossible to provide an ensemble performance in some cases because of insufficient storage capacity of the delay buffer (300). In other words, there is created a problem that the arrangement is poor at a reproduced musical performance.xe2x80x9d
The problems of JP-A-5-33798 pointed out in the Japanese Patent No. 2694935 are fatal problems, which are caused by storing musical performance information, such as a MIDI, into the buffer. The buffer for storing that sort of musical performance information is configured to include a buffer ring 600 shown in FIG. 20 for instance. The buffer 600 is configured in FIFO fashion (First In First Out). When musical performance information is inputted, the musical performance information is sequentially written in the buffer 600 according to increment of a write pointer 601. The musical performance information is sequentially read out from the buffer 600 according to increment of a read pointer 602 in the same direction. The pointers are called a ring buffer since each of the pointers return to a first address when having reached a last address. As stated earlier, when musical performance information having a high density is inputted in the arrangement, a proper ensemble performance has been impossible in some cases since the write pointer 601 overtakes the read pointer 602 to prevent the data to be read by the read pointer 602 from being correctly processed due to overwriting of data by the write pointer 601, or since when the ring buffer 600 is filled with data, further data are not acceptable until reading by the read pointer 602 proceeds to provide sufficient capacity. Even in the case without a ring buffer, an overflow is caused in some cases, depending on the capacity of a RAM.
The proposal by the Japanese Patent No. 2694935 needs to include a first reading unit and a second reading unit to provide automatic musical instruments having different sound production timings with control at different reading timings, creating a problem that the processing becomes complicated.
The present invention is proposed in consideration of the problems stated earlier. The invention provides a musical performance control method and a musical performance control apparatus capable of providing a proper ensemble performance with a musical performance by an electronic tone generator and an automatic performance by a musical instrument simultaneously provided even when musical performance information having a high density is inputted. The present invention also provides a musical tone generating apparatus capable of having a similar function.
The musical performance control method according to a first aspect of the present invention is characterized in that the method basically comprises providing a first automatic performance part based on musical performance information; providing a second automatic performance part as an ensemble performance; wherein the second automatic performance part is outputted as musical tone data with such a delay so as to conform to a sound production timing of the first automatic performance part.
The musical tone data according to the present invention are data that are in such a state to be able to produce a musical tone based on data outputted from an electronic tone generator or the like, i.e., in such a state that they can form an output waveform by D/A conversion so as to be outputted as they are (a state with an envelope or the like added thereto). The musical tone data are different from musical performance information comprising event information (including MIDI data etc.). Examples of the musical tone data are PCM data, sine composite waveform data and FM synthesizer generator data.
In accordance with the arrangement stated earlier, an overflow of data, which, for example, is caused by the overtaking of the pointer stated earlier, can be prevented since an object to be delayed is not musical performance information but musical tone data and since outputting is carried out merely with a delay (normally, the data are outputted after having been stored in a buffer). In the case of musical tone data, neither data are overflowed, nor acceptance of data can be stopped since the relationship of input and output of the data at a delay unit is 1:1 (the data volume to be inputted is equivalent to the data volume to be outputted). This is different from the case of musical performance information. Thus, it becomes possible to provide a proper ensemble musical performance by outputting musical tone data with a delay by a certain period of time.
In the musical performance control method according to a second aspect of the present invention, audio signal data may be included besides musical tone data. Specifically, one of automatic performance parts is outputted as including at least audio signal data with such a delay so as to conform to a sound production timing of the other automatic performance part, which provides an automatic musical performance based on musical performance information. As the musical sound of the one automatic performance part, an audio signal, which has a higher quality than the musical sound by, e.g., a MIDI tone generator can be utilized besides the musical sound by an electronic tone generator for an ensemble musical performance. Since the audio signal includes voice data, such as a vocal sound, an ensemble along with not only the sound of a musical instrument but also a singing voice by a person provided as musical performance information can be enjoyed, which has not been provided by prior art.
In the musical performance control method according to a third aspect of the present invention, a digital signal processor may be utilized to output the musical tone data with a delay by a certain period of time. The digital signal processor is utilized to add several sorts of acoustic effects to the musical tone data. The arrangement according to this aspect can be realized by providing some modification with an existing arrangement having a RAM and an ordinary digital processor, such as an electronic musical instrument and a sing-along machine, in terms of software.
In the musical performance control method according to a fourth aspect of the present invention, the first automatic performance part is an automatic piano player part, which provides an automatic musical performance based on the musical performance information. In this case, for example, the processing stated earlier is carried out with the other part being provided as a tone generator part, and both parts are provided as automatic performances, allowing both parts to provide a synchronized ensemble performance.
With respect to the delay output of the data, when the period of time for the delay can be automatically set according to a fifth aspect of the present invention, the operation becomes simplified. This is also applicable to the musical performance control apparatus according to a tenth aspect of the present invention, which will be explained later.
According to each of a sixth aspect to a tenth aspect of the present invention, the present invention is defined as a musical performance control apparatus, not a musical performance control method.
The sixth aspect corresponds to the first aspect. According to the sixth aspect, there is provided a musical performance control apparatus, which provides a first automatic performance part based on performance information and a second automatic performance part as an ensemble performance, comprising a processing path for the second automatic performance part; and a signal processing unit in the processing path, whereby the second automatic performance part is outputted as musical tone data with such a delay so as to conform to a sound production timing of the first automatic performance part.
The seventh aspect corresponds to the second aspect. According to the seventh aspect, there is provided a musical performance control apparatus, which provides a first automatic performance part based on musical performance information and a second automatic performance part as an ensemble performance, comprising a processing path for the second automatic performance part; and a signal processing unit in the processing path, whereby the second automatic performance part is outputted as including at least audio signal data with such a delay so as to conform to sound a generating timing of the first automatic performance part.
The eighth aspect corresponds to the third aspect. According to the eighth aspect, the signal processing unit comprises a digital signal processor.
The ninth aspect corresponds to the fourth aspect. According to the ninth aspect, the first automatic performance part is an automatic piano player part, which provides an automatic musical performance based on the musical performance information.
According to the eleventh aspect, there is provided a tone generating apparatus, which includes a signal processing unit for adding a certain acoustic effect to musical tone data outputted from an electronic tone generator side. Specifically, the signal processing unit accepts a delay time from a controller for providing an automatic performance to an external automatic performance apparatus, whereby the signal processing unit outputs musical tone data with such a delay so as to conform to a sound production timing of the external automatic performance apparatus.